home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dsptri.z / dsptri
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSPPPPTTTTRRRRIIII((((3333FFFF))))                                                          DDDDSSSSPPPPTTTTRRRRIIII((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSPTRI - compute the inverse of a real symmetric indefinite matrix A in
  10.      packed storage using the factorization A = U*D*U**T or A = L*D*L**T
  11.      computed by DSPTRF
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DSPTRI( UPLO, N, AP, IPIV, WORK, INFO )
  15.  
  16.          CHARACTER      UPLO
  17.  
  18.          INTEGER        INFO, N
  19.  
  20.          INTEGER        IPIV( * )
  21.  
  22.          DOUBLE         PRECISION AP( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      DSPTRI computes the inverse of a real symmetric indefinite matrix A in
  26.      packed storage using the factorization A = U*D*U**T or A = L*D*L**T
  27.      computed by DSPTRF.
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      UPLO    (input) CHARACTER*1
  32.              Specifies whether the details of the factorization are stored as
  33.              an upper or lower triangular matrix.  = 'U':  Upper triangular,
  34.              form is A = U*D*U**T;
  35.              = 'L':  Lower triangular, form is A = L*D*L**T.
  36.  
  37.      N       (input) INTEGER
  38.              The order of the matrix A.  N >= 0.
  39.  
  40.      AP      (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
  41.              On entry, the block diagonal matrix D and the multipliers used to
  42.              obtain the factor U or L as computed by DSPTRF, stored as a
  43.              packed triangular matrix.
  44.  
  45.              On exit, if INFO = 0, the (symmetric) inverse of the original
  46.              matrix, stored as a packed triangular matrix. The j-th column of
  47.              inv(A) is stored in the array AP as follows:  if UPLO = 'U', AP(i
  48.              + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j; if UPLO = 'L', AP(i +
  49.              (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  50.  
  51.      IPIV    (input) INTEGER array, dimension (N)
  52.              Details of the interchanges and the block structure of D as
  53.              determined by DSPTRF.
  54.  
  55.      WORK    (workspace) DOUBLE PRECISION array, dimension (N)
  56.  
  57.      INFO    (output) INTEGER
  58.              = 0: successful exit
  59.              < 0: if INFO = -i, the i-th argument had an illegal value
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSPPPPTTTTRRRRIIII((((3333FFFF))))                                                          DDDDSSSSPPPPTTTTRRRRIIII((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
  75.              inverse could not be computed.
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.